user needs crane inspection quality assurance tool selection criteria java development testing quality software software testing software tools project management ansi consulting load testing performance testing